/* c01/ejemplo-02.c
Inicialización de subsistemas en SDL
*/
#include <SDL/SDL.h>

int main(void){
	SDL_Surface *pantalla = NULL;
	
	/* Los susbsistemas disponibles son:
	 * SDL_INIT_TIMER
	 * SDL_INIT_AUDIO
	 * SDL_INIT_VIDEO
	 * SDL_INIT_CDROM	
	 * SDL_INIT_JOYSTICK
	 * SDL_INIT_EVERYTHING
	 **/
	if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_CDROM) < 0){
		printf("Error al iniciar SDL con los subsistemas de video, de unidad óptica y de sonido: %s\n", SDL_GetError());
		exit(1);
	}
	atexit(SDL_Quit);
	
	//Inicializar el subsistema de palanca de mandos:
	SDL_InitSubSystem(SDL_INIT_JOYSTICK);
	
	//Apaga los subsistemas de video y de audio
	SDL_QuitSubSystem(SDL_INIT_VIDEO | SDL_INIT_CDROM);

	if (SDL_WasInit(SDL_INIT_VIDEO)) {
		printf("El video está encendido\n");	
	} else {
		printf("El video está apagado\n");
	}
	
	if (SDL_WasInit(SDL_INIT_CDROM)) {
		printf("El Cdrom está encendido\n");
	} else {
		printf("El Cdrom está apagado\n");
	}

	if (SDL_WasInit(SDL_INIT_AUDIO)) {
		printf("El audio está encendido\n");
	} else {
		printf("El audio está apagado\n");
	}

	if (SDL_WasInit(SDL_INIT_JOYSTICK)) {
		printf("El joystick está encendido\n");
	} else {
		printf("El joystick está apagado\n");
	}
	
	//Apagar todos los subsistemas de SDL automáticamente
	return 0;
}
